It is generally known to provide “debouncing” in various sorts of control circuits to prevent spurious or undesired control outputs. For example, a mechanical switch typically will comprise a moving element that is brought into contact with a stationary element, closing a control circuit. If the moving element physically bounces, due to resilience of the components or like causes, the control circuit may be closed and opened several times in quick succession, leading to application and withdrawal of power to a controlled device in rapid sequence, which can be very undesirable. It is known to provide “debounce” circuitry to preclude this effect; this may be as simple as providing a delay after the first change of state of the switch before any control action is taken.
In another common circumstance, a sensor may be arranged to determine a physical constant, for example the level of liquid in a tank, and control a device in response thereto, for example, to cause a pump to be energized to fill the tank. If there are waves in the liquid level, the sensor may give repeated signals that the level is first above, then below the desired level, leading to the pump's cycling on and off, which can be very damaging and might lead to an overfilling condition. Here again it is known to provide debounce circuitry, in this case perhaps most simply implemented by avoiding any control action until after a series of identical successive sensor outputs have been detected, indicating that the change of state has persisted for beyond a minimum time.
A related problem is that of avoiding “hunting” of a controlled variable around a desired value. For example, suppose a thermostat is set to keep a house at 68 degrees F., such that the furnace is controlled to be started when the temperature is below 68 degrees and stopped when it is above 68 degrees, thus providing a “control loop”. It is apparent that the furnace might well continuously cycle on and off, thus “hunting” around the 68 degree “setpoint”. This is commonly avoided by spacing the control points some distance apart, e.g., so that the furnace goes on when the temperature drops to 67 degrees and is shut off when it reaches 69 degrees. Another possibility is to avoiding changing the control state—that is, turning the furnace on or off—until the temperature has been on one side or the other of the desired value for more than a predetermined time. These solutions to the “hunting” and related problems are sometimes referred to as providing “hysteresis” to the control loop, in that the proper action to be taken in response to a particular state of the sensed value depends on the recent history of the circuit.
The art is aware of numerous additional circumstances wherein debouncing of signals is useful, including provision of hysteresis as above, and these additional circumstances are intended generally to be considered within the scope of the present invention.
As mentioned, the prior art shows various circuits and related techniques for providing debouncing in varied circumstances. One typical approach is shown in Wall U.S. Pat. Nos. 6,957,174 and 7,092,850, which teaches preventing the change of state of the controlled device until the sensed signal has been stable for more than a predetermined time. Yang U.S. Pat. No. 4,851,738 shows a similar technique in control of a lighting circuit. Also generally relevant are Philipp U.S. Pat. No. 4,736,097, showing prevention of spurious triggering in an optical detector circuit; Griebeler U.S. Pat. No. 5,012,239, showing debouncing in a position sensor circuit, to eliminate spurious pulses; Stein U.S. Pat. No. 5,349,380, showing a circuit for avoiding crosstalk between adjacent pixels in a video system; Andresen U.S. Pat. No. 6,115,438, showing debouncing in a phase-locked-loop circuit; Scherr U.S. Pat. No. 7,369,969, also showing prevention of a change of state until a sensed signal has been stable for at least a predetermined time; and Nussbaumer et al patent application 2007/027056, showing a similar technique used in a measuring circuit.
Horowitz and Hill, in “The Art of Electronics”, also teach at p. 342 use of flip-flop circuits to debounce signals that would otherwise exhibit extra pulses resulting from bouncing of mechanical switch contacts.
Insofar as known to the present inventors, however, the prior art does not show a debounce circuit that can be conveniently interposed in a simple, low-cost control circuit. More specifically, in particular in the more recent of the prior art discussed above, the debounce functionality is typically provided by hardware integrated with software whereby a processor, e.g., a microprocessor or similar computer device, controls a device responsive to a sensed variable. Given the presence of the processor it is a simple matter to add the debounce functionality, e.g., as done in the Wall patents. In the other prior art discussed above, e.g., as in the Horowitz and Hill reference, the debounce feature is provided integrally with the control circuit. In a control circuit not implemented by a microprocessor, typically for reasons of cost, debouncing might well be desired but is not readily implemented. It is therefore an object of the invention to provide a simple, inexpensive modular debounce device that can readily be added to a simple control circuit to provide the debounce functionality.